This relates to communication systems and, more particularly, to protocols for fair allocation of transmission resources in a communications system.
The Distributed-Queue Dual-Bus (DQDB) is a communication network with a slotted access protocol that is currently being standardized by the IEEE 802.6 Working Group. As the transmission rates and distances spanned by networks increase, slotted networks can be much more efficient than token-passing networks. However, in slotted networks, the grade of service provided to nodes can depend on their relative position. The combination of the network span, transmission rate, and slot size of DQDB allow many slots to be in transit between the nodes. On a long network, if the access protocol is too efficient and tries to never waste a slot, then users can receive very unfair service, especially during large file transfers. Moreover, if the file transfers are of different priority, then the priority mechanism can be completely ineffective.
In an invention disclosed in U.S. Pat. applications Ser. No. 07/387247, filed Jul. 28, 1989, we describe a number of techniques for explicit bandwidth balancing. Our disclosed bandwidth balancing intentionally wastes a small amount of bus bandwidth in order to facilitate coordination among the nodes currently using that bus, but it divides the remaining bandwidth equally among those nodes. The key idea is that the maximum permissible nodal throughput rate is proportional to the unused bus capacity; and that each node can determine this unused capacity by locally observing the volume of busy slots and reservations. The system achieves fairness gradually, over an interval several times longer than the propagation delay between competing nodes.
This bandwidth balancing, which was incorporated as a DQDB protocol option into the IEEE 802.6 draft standard, guarantees equal allocations of bus bandwidth to nodes with heavy demand at the lowest priority level. It turns out that a node with higher-priority traffic is guaranteed at least as much bandwidth as a lowest-priority node, but no further guarantees are possible. As long as the higher-priority applications do not require more bandwidth than the lowest-priority applications, this performance guarantee is sufficient. However, if priorities are to be assigned to applications with significant volume, such as packet video and bridging of high-speed local area networks, then improvements may be desirable.
It is difficult to make priorities work effectively over long DQDB networks with the current control information. The reason for this lies in the fact that while the priority level of a reservation is known, the priority level of the data in a busy slot is not known. (The priority level is typically designated with a priority designating field associated with each reservation.)
It is an object of this invention to make the network fairer in an environment which supports traffic of multiple priority levels, and at least account for the different priorities of packets in the allocation of bus bandwidth.